// @/utils/request.js   https://sp.wwtscm.com/api/user/login
// #ifdef MP-WEIXIN
const baseURL = "https://sp.wwtscm.com"
// #endif 

const timeout = 5000

// 封装api请求
const request = function(option) {
    // 获取用户传入的url
    var url = baseURL + option.url;
    // 添加提请求头
    var header = option.header || {}
    if (option.needToken) {
        // 添加token 
        header.token = uni.getStorageSync('newToken');
    }
    // 返回一个promise
    return new Promise((resolve, reject) => {
        // 发起一个request请求
        uni.request({
            url, //请求url
            method: option.method || "GET", //请求方法
            header: header, //请求头
            timeout,
            data: option.data || option.params, //请求数据
            success(res) {
                // 成功返回结果
                // console.log(res);
                if (res.statusCode === 200) {
                    resolve(res.data)
                    // 如果是101 没有权限
                    if (res.data.code == 101) {
                        uni.showToast({
                            title: res.data.msg,
                            icon: 'none'
                        })
                        uni.redirectTo({
                            // url: '/pages/loginView/loginView',
                        })
                    }
                    if (res.data.code != 200 && res.data.code != 1 && res.data.code != 0) {
                        uni.redirectTo({
                            // url: '/pages/loginView/loginView',
                        })
                    }
                } else if (res.statusCode === 401) {
                    uni.redirectTo({
                        url: '/pages/loginView/loginView',
                    })
                }
            },
            fail(err) {
                // 失败返回失败结果
                uni.showToast({
                    title: '请求失败',
                    icon: 'error'
                })
                // console.error(err);
                // reject(err)
            }
            // complete() {
            //     
            // }
        })
    })
}

// 定义get简洁方法
request.get = function(url, config) {
    return request({
        url,
        method: "GET",
        ...config
    })
}

// 定义post简洁方法
request.post = function(url, data, config) {
    return request({
        url,
        method: "POST",
        ...config,
        data
    })
}
// 导出请求
export default request;